package com.farewell.blog.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.farewell.blog.entity.QueryBean;
import com.farewell.blog.pojo.Type;

import java.util.List;

/**
 * @author Farewell
 * @date 2021/2/7
 */
public interface TypeService {

    /**
     * 通过type名获取
     *
     * @param type type对象
     * @return Type对象
     */
    Type getTypeByName(Type type);

    /**
     * 获取全部分类信息
     *
     * @return 分类列表
     */
    List<Type> getAllTypes();

    /**
     * 保存一个type分类对象
     *
     * @param type 分类对象
     */
    void saveType(Type type);

    /**
     * 通过id更新一个分类的信息
     *
     * @param id   主键
     * @param type 分类对象数据
     */
    void updateType(Long id, Type type);

    /**
     * 通过id获取分类对象
     *
     * @param id 主键
     * @return 分类对象
     */
    Type getTypeByName(Long id);

    /**
     * 分页查询分类
     *
     * @param queryBean 查询条件实体
     * @return 分类列表
     */
    Page<Type> listType(QueryBean queryBean);

    /**
     * 通过id删除一个分类对象
     *
     * @param id 主键
     */
    void deleteType(Long id);
}
